home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-02-20 | 37.1 KB | 1,000 lines |
- Document Mathematrix-Anleitung
-
- M a t h e m a t r i x
- =====================
-
-
-
- Autor: Nicolas Bassen, Grafeler Damm 64, D-27356 Rotenburg
-
- FidoNet: 2:241/1120.6 (bevorzugt)
- Internet: k14k@zfn.uni-bremen.de
-
- (C) 1993-94 Nicolas Bassen. Alle Rechte liegen beim Autor
-
- *** Ein Amiga-Programm zur Matrizenberechnung ***
-
- "Männer und Frauen sind gleichberechtigt!"
- Dies ist Gesetz und entspricht meiner eigenen Überzeugung. Jedoch zwingen
- mich weder Gesetz noch Überzeugung zu Neologismen der Form
- "der (die) Anwender(in)", "Jede(r)". "Der Leser" sei hier genauso
- geschlechtsneutral aufzufassen, wie die Höflichkeitsanrede "Sie".
- Sprachbarrieren obiger Form fördern meines Erachtens weniger die
- Gleichberechtigung, als daß sie Schriftstücke zu Schlachtfeldern
- kontradiktorischer Artikelmassen aufblähen.
- In aller Höflichkeit seien hiermit alle weiblichen und männlichen Leser
- herzlich willkommen.
- --------------------------------------------------------------------------
- 1. Überblick
-
- Das Rechnen mit Matrizen gestaltet sich mit diesem Programm ebenso einfach
- wie das Rechnen mit Zahlen auf dem Taschenrechner. Insbesondere sind
- Kettenrechnungen wie (A*B)^T - ((1/5*C)^25)^-2 ohne Umstände durchzuführen.
- Dies wird erst möglich mit Einführung der `Umgekehrt polnischen Notation`,
- die weiter unten erklärt wird.
- Dieses Programm vermag folgende grundlegenden Matrixoperationen anwender-
- freundlich durchzuführen:
-
- Addition
- Subtraktion
- Multiplikation
- Inversion
- Determinanten
- Transponieren
- Konstantenmultiplikation
- Gleichungssysteme mit mehreren rechten Seiten
- Alle Funktionen auch für Matrizen mit komplexen Elementen
-
- --------------------------------------------------------------------------
- 2. Wichtige Informationen
-
-
- 2.1. Copyright
-
- Zur Weitergabe des Programms
-
- Dieses Programm darf und soll weitergegeben werden. Dabei darf aber
- höchstens ein Betrag von insgesamt 5 DM (3$) je Diskette (inclusive Porto,
- Verpackung, Nebenkosten etc.) verlangt werden. Sollten Sie dies Programm
- auf einem Vertriebsweg bezogen haben, der diese Bedingungen verletzt,
- bitte ich Sie, mich mit entsprechenden Angaben zu informieren!
-
- Das Programm darf nur vollständig und unverändert weitergegeben werden.
- D.h. der gesamte Ordner /Mathematrix/ muß mit vollständigem Inhalt
- weitergegeben werden. Wird der Ordner komprimiert (lha o.a), so sollte
- eine unverschlüsselte Nachricht darauf hinweisen!
-
- Falls das Programm in FD-Serien od. CD- bzw. anderen Programmsammlungen
- (z.B. Fish o.a.) aufgenommen werden soll, bedarf es der schriftlichen
- Genehmigung des Autors.
-
- Jeder auf finanziellen Gewinn ausgelegte Vertrieb dieses Programmes ist
- ohne schriftliche Genehmigung des Autors untersagt!
-
- Bitte lesen Sie auch die `Nutzungsbedingungen'!
-
- --------------------------------------------------------------------------
- 2.2. Garantie
-
-
- Der Autor kann keine Garantie geben, daß die in dieser Dokumentation be-
- schriebenen Programme 100% zuverlässig sind. Die Benutzung der Programme
- ist auf eigene Gefahr. Der Autor kann in keinem Fall für irgendwelche
- Schäden verantwortlich gemacht werden, die durch die Anwendung dieser
- Programme entstehen.
-
- ***
-
- Bitte lesen Sie auch die `Nutzungsbedingungen'!
-
- --------------------------------------------------------------------------
- 2.3. Nutzungsbedingungen
-
- Nutzungsbedingungen:
-
- Die Programme dürfen nicht zu Zwecken verwendet werden, die der Forschung,
- Entwicklung, Konstruktion oder Produktion von militärischen oder
- genmanipulierten Gütern dienen.
-
- Das Programm und die damit zusammenhängenden Dateien
- dürfen weitergegeben werden, wenn höchstens ein Betrag von insgesamt
- 5 DM (3$) je Diskette (inclusive Porto, Verpackung, Nebenkosten etc.)
- verlangt werden. Sollten Sie dies Programm auf einem Vertriebsweg
- bezogen haben, der diese Bedingungen verletzt, bitte ich Sie, mich mit
- entsprechenden Angaben zu informieren!
-
- Das Programm darf nur vollständig und unverändert weitergegeben werden.
- D.h. der gesamte Ordner `Mathematrix` muß mit vollständigem Inhalt
- weitergegeben werden. Wird der Ordner komprimiert (lha o.a), so sollte
- eine unverschlüsselte Nachricht darauf hinweisen!
-
- Falls das Programm in FD-Serien od. CD- bzw. anderen Programmsammlungen
- (z.B. Fish o.a.) aufgenommen werden soll, bedarf es der schriftlichen
- Genehmigung des Autors.
-
- Jeder auf finanziellen Gewinn ausgelegte Vertrieb dieses Programmes ist
- ohne schriftliche Genehmigung des Autors untersagt! Dies gilt
- selbstverständlich auch für die kommerzielle Nutzung des Programmes.
-
- --------------------------------------------------------------------------
-
- Wer das Programm länger als einen Monat nutzt, muß sich registrieren
- lassen. Die Demoversion soll nur über den Funktionsumfang des Programmes
- informieren.
-
- --------------------------------------------------------------------------
-
- Die mit einer `Registration` erhaltene `Schlüsseldatei` darf unter keinen
- Umständen anderen zugänglich gemacht werden. Schlüsseldateien dienen
- ausschließlich dem Zweck, dem registrierten Benutzer die uneingeschraenkte
- Nutzung des Programmes zu ermöglichen. Sie enthalten die persönlichen Daten
- des registrierten Anwenders.
-
- --------------------------------------------------------------------------
-
- Für die rechtmaessige Nutzung des Programmes muß man sich registrieren
- lassen. Dies geschieht durch Zusendung des ausgefüllten
- "Registrationsblattes" und Bezahlung des Vergütungsbetrages.
-
- Vergütungsbetrag bei Registration:
-
- Personen ohne festes Einkommen mit Wohnsitz in Deutschland: 20 DM
- (Schüler, Studenten, Arbeitslose etc.)
-
- Für alle anderen 40 DM
- (Berufstätige, Personen mit Wohnsitz im Ausland)
-
- Sie erhalten dann eine Diskette mit
- der neusten Version von Mathematrix und Ihre persönliche Schlüsseldatei,
- die es ermöglicht, das Programm uneingeschränkt zu verwenden.
-
- Höhere Summen werden nicht bestraft. Eher belohnt ;-)
-
- Für die kommerzielle Nutzung des Programmes ist eine besondere
- schriftliche Genehmigung beim `Autor' einzuholen!
-
- Das Registrationsblatt erhalten sie, indem Sie die Datei `Registration`
- ausdrucken! (Hierzu sehen Sie ggf. im Computerhandbuch nach)
-
- Anmerkungen:
-
- Die Entwicklung des Programmes hat mehrere Monate gedauert. Um mir mein
- schon sehr bemessenes Taschengeld (Student) aufzubessern, verlange ich für
- das Programm einen Vergütungsbetrag.
-
- --------------------------------------------------------------------------
- 3. Autor
-
- Informationen zum Autor:
-
- Nicolas Bassen
- Grafeler Damm 64
- D-27356 Rotenburg
-
- FidoNet: 2:241/1120.6 (bevorzugt)
- Internet: k14k@zfn.uni-bremen.de
-
- Ich bin am 21.04.68 geboren, wohne in Rotenburg Wümme und studiere zur
- Zeit an der Universität Bremen Elektrotechnik. In meiner Freizeit
- beschäftige ich mich mit Solartechnik, Elektromobilen, Regelungstechnik
- und Mikrocontrollern. Wer hier auch Interesse hat, der kann mir ja mal
- schreiben.
-
- --------------------------------------------------------------------------
-
- 4. INSTALLATION
-
- Festplatte
-
- Kopieren Sie den Ordner `Mathematrix` einfach in das Verzeichnis, von
- dem Sie es starten möchten. Das Programm kann nun mit einem Doppelklick
- gestartet werden.
-
- Diskette
-
- Formatieren Sie eine Diskette und kopieren Sie anschließend den Ordner
- `Mathematrix` auf die Diskette. Nachdem Sie nun Ihren Amiga mit der
- Workbench Diskette gestartet haben, legen Sie die Diskette ein
- und starten das Programm mit einem Doppelklick.
-
- 4.1. Systemanforderungen
-
- Die Rechenleistung kann nie hoch genug sein:
- Für eine 10x10 Matrix benötigt man eine Anzahl an Rechenoperationen in der
- Größenordnung von 10^8. (Cramers Rule)
- Auch mit geeigneteren Rechenverfahren kann man die Zahl nicht bedeutend
- verringern, so daß man auch auf leistungsstarken Rechnern keine Mühe hat
- Wartezeiten zu erzeugen, wenn man nur die Matrizen groß wählt.
- In erster Linie wurde bei der Programmentwicklung Wert auf einfache
- Bedienung gelegt. Geschwindigkeitsoptimierungen wurden noch nicht
- durchgeführt.
-
- Mathematrix wurde getestet und lief ohne Probleme auf folgenden Rechnern:
-
- A4000/30 Workbench 3.0
-
- Speicher: 1 MB sollte ausreichen.
-
- --------------------------------------------------------------------------
- 5. Gebrauchsanweisung
-
- 5.1. Bemerkungen
-
- Da ich nicht abschätzen kann, welche Berechnungen mit dem
- Programm durchgeführt werden, weise ich an dieser Stelle darauf hin, daß
- die Ergebnisse, die dieses Programm angibt, kritisch zu betrachten sind.
- Es sollten, wenn möglich immer Proben durchgeführt werden!
-
- Siehe dazu:
-
- `Rechengenauigkeit'
- `Mathematische Grundregeln'
- `Probleme|Fehler'
- `Beispiele'
- `Literaturliste'
-
- --------------------------------------------------------------------------
- 5.2. Statusfeld
-
- Nach dem Starten öffnet sich ein Fenster auf der Workbench.
- Zuerst führt das Programm eine Prüfroutine aus, die ein paar Dinge abcheckt.
- Unter anderen wird dazu der Originalname des Programms benötigt. Dieser
- sollte aus diesem Grunde nicht verändert werden. Neben dem
- Anzeigefenster befinden sich 6 Knöpfe. Jeder dieser Knöpfe steht für
- einen Matrixspeicherplatz. Unter diesen Knöpfen befinden sich die
- Operator-Knöpfe mit denen Rechenoperationen ausgeführt werden können. Am
- unteren Ende des Fensters befindet sich ein Statusfeld. In diesem Feld
- teilt Ihnen das Programm Informationen zum Programmablauf mit und nimmt
- Eingaben entgegen.
-
- Wichtig: Die führenden 2 Ziffern im Statusfeld geben die zuvorletzt und
- die zuletzt aktivierte Matrix an !!
- 12 bedeutet: 2 ist zuletzt aktiviert ; 1 ist zuvorletzt aktiviert
- Würde jetzt `+` aktiviert, würde 1+2 berechnet !
-
- `AKTIVIEREN` HEIßT AUCH TATSÄCHLICH ANKLICKEN !!!!
-
- --------------------------------------------------------------------------
- 5.3. Polnisch umgekehrte Notation
-
- Der Ausdruck A+B soll berechnet werden:
-
- Die Addition ist eine Operation die 2 Elemente verknüpfen kann. Man gehe
- nun wie folgt vor:
-
- 1. `A` aktivieren
- 2. `B` aktivieren
- 3. `+` Additionsoperator aktivieren
-
- Das Ergebnis von A+B ist nun zwischengespeichert.
-
- Das heißt, daß bei der umgekehrt polnischen Notation erst beide Elemente
- aktiviert werden und dann der Operator. (statt A+B eben AB+)
-
- Dieses Verfahren wird bei allen Verknüpfungsoperationen verwendet, die 2
- Elemente verknüpfen (*,+,...)
- Während die Operatoren, die nur auf ein Element angewendet werden, sich
- immer auf das zuletzt aktivierte beziehen. (^,^T,DEL,...)
-
- --------------------------------------------------------------------------
- 5.4. Menus
-
-
- 5.4.1. Projekt
-
-
- 5.4.1.1. Info
-
- Gibt einen Infotext aus
-
- 5.4.1.2. Laden
-
- Hiermit können Matrizen geladen werden, die vorher mit dem Programm
- abgespeichert wurden. Die Matrix wird in den aktuellen Matrixspeicherplatz
- geladen.
-
- 5.4.1.3. Speichern
-
- Hiermit kann die aktuelle Matrix gespeichert werden. Es wird ein internes
- Format verwendet.
-
- 5.4.1.4. Ende
-
- Beendet das Programm ohne Sicherheitsabfrage!
-
-
- 5.4.2. Edit
-
-
- 5.4.2.1. Matrix editieren
-
- Die Matrix wird zum Editieren übergeben
-
- 5.4.2.2. Komplex -> Reell
-
- Löscht den Imaginaerteil der aktuellen Matrix
-
- 5.4.2.3. Reell -> Komplex
-
- Fügt zu jedem Matrixelement einen Imaginaerteil an und setzt diesen auf
- Null
-
- 5.4.2.4. Realteil -> Null
-
- Setzt den Realteil aller Matrixelemente auf Null
-
- 5.4.2.5. Imaginäteil -> Null
-
- Setzt den Imaginaerteil aller Matrixelemente auf Null
-
- 5.4.2.6. Matrix -> Einheitsmatrix
-
- Wenn die Matrix quadratisch ist, wird sie in eine Einheitsmatrix
- umgewandelt. D.h. alle Diagonalelemente werden zu 1,alle anderen zu 0.
-
- 5.4.2.7. Alle löschen
-
- Die Matrizen 1-6 werden ohne Sicherheitsabfrage gelöscht.
-
-
- 5.4.3. Option
-
-
- 5.4.3.1. Anzeige
-
- -alle Matrizen werden angezeigt
-
- -nur die aktuelle Matrix wird angezeigt. Diesen Modus
- sollte man bei langsamen Rechnern aktivieren.
-
- 5.4.3.2. Darstellung
-
- Hier kann die Anzeigegenauigkeit bestimmt werden. Um bei der Anzeige noch
- die Zeilen und Spalten der Matrix erkennen zu können, muß eine Formatierung
- der Elemente vorgenommen werden. Die in der Anzeige dargestellten Werte
- sind immer gerundet. Intern wird aber ständig die genauen Werte verwendet.
-
- +000.000 Jedem Element stehen 8 Stellen zur Verfügung.
- Bei Bedarf wird eine wissenschaftliche Anzeige
- verwendet. (+10e+3 = +10 * (10*10*10))
- Dieses Darstellung ist die informativste und
- wird deswegen auch bei Ergebnisanzeigen
- eingeschaltet. Bei den anderen Einstellungen ist
- Vorsicht geboten:
-
- +000 Jedem Element stehen 4 Stellen zur Verfügung.
- 0.009 wird als 0 dargestellt.
- 10000 wird als *** dargestellt
-
- +0 Jedem Element stehen 2 Stellen zur Verfügung.
- 0.1 wird als 0 dargestellt
- 100 wird als *** dargestellt
-
- 5.5. Knöpfe
-
-
- 5.5.1. Def.
-
- Die aktuelle Matrix wird definiert. Das Matrizeneingabefenster wird
- geöffnet.
-
- 5.5.2. Name
-
- Es kann ein Name für die aktuelle Matrix eingegeben werden.
-
- 5.5.3. <->
-
- Die Inhalte der aktivierten Matrixspeicherplätze werden vertauscht.
-
- 5.5.4. a*Matrix
-
- Die Matrix wird mit der eingegebenen Konstanten multipliziert. Im
- Statusfeld können auf logische Ausdrücke eingegeben werden. (z.B.: 1+2) Ist
- die Matrix komplex, so wird nach Real- und Imaginaerteil der Konstanten
- gefragt. Um eine reelle Matrix mit einer komplexen Konstanten zu
- multiplizieren, muß die Matrix also erst komplex gemacht werden. (Siehe
- Menu `Reell -> Komplex')
-
- 5.5.5. Transponieren
-
- Die aktuelle Matrix wird transponiert. (Zeilen werden zu Spalten)
-
- 5.5.6. Invertieren
-
- Die aktuelle Matrix wird invertiert wenn dies möglich ist. (Die
- Matrizeninversion ist nur für quadratische Matrizen definiert. D.h.
- Zeilenzahl = Spaltenzahl)
-
- 5.5.7. Det
-
- Die Determinante der aktuellen Matrix wird berechnet.
- (Nur quadratische Matrizen!)
-
- 5.5.8. Ax=B
-
- Löst das Gleichungssystem A * x = B, wobei B die zuletzt angeklickte Matrix
- und A die zuvorletzt angeklickte Matrix bezeichnet. Es wird versucht eine
- Matrix x zu finden, die Multipliziert mit A dann B ergibt. Die Theorie der
- Gleichungssysteme sagt das es entweder
-
- -eine eindeutige Lösung
- -keine Lösung
- -unendlich viele Lösungen
-
- gibt. Letzgenannte Möglichkeit wird auch mit n-parametriger Lösungsschar
- bezeichnet. Ist eine n-parametrige Lösungsschar Lösung des
- Gleichungssystems, so wird in 7 eine Lösungsmatrix übergeben. In 8 wird
- eine mögliche Basis übergeben. Da es je nach Gleichungssystem z.B. auch
- 5-parametrige Lösungen gibt, sind in 8 immer alle Basisvektoren
- nebeneinander zusammengefasst. (Siehe `Beispiele')
-
- 5.5.9. +,-
-
- Die aktuelle Matrix wird zu/von der vorher aktuellen Matrix
- addiert/subtrahiert. Beide Matrizen müssen gleiche Zeilen- und Spaltenzahl
- haben.
-
- 5.5.10. *
-
- Die aktuelle Matrix wird mit der vorher aktuellen Matrix multipliziert.
- Merke: Die Matrizenmultiplikation ist im Allgemeinen nicht kommutativ:
- A*B<>B*A
-
- 5.5.11. ^
-
- Die aktuelle Matrix wird mit sich selbst multipliziert. Der Exponent muß
- ganzzahlig und größer als 1 sein.
-
- 5.5.12. DEL
-
- Die aktuelle Matrix wird ohne Sicherheitsabfrage gelöscht, wenn dieser
- Knopf mit einem Doppelklick aktiviert wird.
-
- 5.5.13. Zeigen
-
- Zeigt alle bzw. nur die aktuelle Matrix in der gewählten
- `Darstellung' in der Anzeige an.
-
- 5.5.14. Stat
-
- Gibt den Status der Matrizenspeicher an.
-
- 5.5.15. 1-6
-
- Dies sind 6 Speicherplätze für die Matrizen. Jeweils zwei können mit der
- Maus auf einmal aktiviert werden. Der Knopf , welcher zuletzt aktiviert
- wurde bezeichnet die aktuelle Matrix. (Diese Information kann auch der
- `Statusfeld' entnommen werden.)
-
- 5.5.16. (7)
-
- Dieser Speicherplatz ist für Ergebnisse reserviert.
- Bei Aktionen, die eine Matrix erzeugen, wird das Ergebnis
- in diesen Speicherplatz geschrieben. Danach wird
- automatisch `7` zur aktuellen Matrix und `6` zur vorher
- aktuellen Matrix. Dies hat den Zweck, daß
-
- 1. durch Aktivieren von `<->` sofort das Ergebnis
- gesichert werden kann, ohne viel herumzuklicken.
-
- 2. durch Aktivieren eines anderen Matrixspeicherplatzes und
- aktivieren von `<->` ebenfalls das Ergebnis gesichert
- ist.
-
- 3. durch Aktivieren eines anderen Operators sofort
- weitergerechnet werden kann, da `7` ja aktuelle Matrix
- ist. (Stichwort Kettenrechnung)
-
- 4. durch Aktivieren eines anderen Matrixspeicherplatzes
- und eines Verknüpfungsoperators (+,-,...) ohne
- Verzögerung weiter gerechnet werden kann.
-
- 5.5.17. (8)
-
- Der Inhalt von `7` wird mit `-->` nach `8` kopiert.
- Dieser Matrixspeicherplatz wurde auf Wunsch einiger
- Anwender dieses Programms entworfen, die vom
- Taschenrechner das Zwischenspeichern (STO) gewohnt sind.
- Es ist hiermit möglich, eine Matrix zu vervielfältigen.
-
- 5.5.18. -->
-
- siehe `(8)'
-
- 5.5.19. TXT->RAM
-
- Der Inhalt des Anzeigefensters wird in der RamDisk abgelegt.
-
- 5.6. Matrizeneingabe
-
- In diesem Fenster können Matrizen definiert werden. Die unterstrichenen
- Buchstaben informieren über Funktionen, die auch über die Tastatur
- erreichbar sind, wenn kein Eingabefeld aktiviert ist. Dies ist nützlich,
- damit man nicht ständig zu Maus greifen muß.
- Dieses Fenster kennt 2 Modi. Im Definitionsmodus können nur die
- matrixspezifischen Daten verändert werden. Ist dies geschehen, kann mit
- `Eingabe starten` in den Eingabemodus gewechselt werden. Hier können
- die Matrixelemente eingegeben werden.
-
-
- 5.6.1. Menus.
-
- Laden: Es kann eine Matrix geladen werden, die vorher mit diesem
- Programm abgespeichert wurde.
-
- Speichern: Eine vollständig definierte Matrix kann gespeichert
- werden. Es wird ein programmeigenes Format verwendet.
-
-
- 5.6.2. Definitionsmodus
-
- Felder, die im Definitionsmodus aktiv sind:
-
- `Name` Der hier eingetragene Name wird als Matrixname verwendet.
-
- `Zeilenanzahl` Zeilenanzahl der Matrix (natürlich positiv und ganzahlig)
-
- `Spaltenanzahl` Spaltenanzahl der Matrix (ganzahlig und positiv)
-
- `Eingabe starten` Hiermit wird vom Definitionsmodus in den
- Eingabemodus gewechselt.
-
- `Typ` Hiermit wird bestimmt, ob die Elemente der Matrix reelle
- oder komplexe Zahlen darstellen. Wer nicht weiß, was
- komplexe Zahlen sind, sollte immer reell wählen (und
- darüber nachdenken, welche Zahl man mit sich selbst
- multiplizieren muß, damit `-1` heraus kommt. Was ergibt
- Wurzel aus `-1`?)
-
- 5.6.3. Eingabemodus
-
- Felder, die im Eingabemodus aktiv sind:
-
- `Neu Definieren` Hiermit wird in den Definitionsmodus gewechselt.
- Nur dort können die matrixspezifischen Daten
- verändert werden.
-
- `Matrix anzeigen` Zeigt die Matrixelemente an. (Gerundet, damit man
- Spalten und Zeilen erkennen kann. Intern werden
- natürlich die tatsächlich eingegebenen Werte
- verwendet)
-
- `Eingabefeld` Hier können die Elemente eingegeben werden. (1+2
- wird als 3 erkannt)
-
- Die beiden Felder über dem Eingabefeld geben Auskunft über das derzeit
- aktuelle Matrixelement im Eingabefeld.
-
- `OK` Wenn alle Matrixelemente definiert sind kann die
- Matrix mit diesem Knopf an das Hauptprogramm
- übergeben werden.
-
- `Cursortaten` Wenn kein Eingabefeld aktiv ist, kann mit den
- Cursortasten durch die Matrix "gefahren" werden.
- Dies ist besonders bei großen Matrizen angenehm,
- um sich im Eingabefeld von dem tatsächlichem Wert
- der Elemente zu überzeugen, da dieser Wert in der
- Anzeige möglicherweise durch das Runden nicht
- genau genug ablesen läßt. Diese Möglichkeit kann
- auch verwendet werden, wenn eine Ergebnismatrix im
- Hauptprogramm näher betrachtet werden soll. Dazu
- muß die Matrix abgespeichert werden und dann aus
- diesem Fenstern neu geladen werden.
-
- 5.6.4. Fensterschließsymbol
-
- Abbruch der Eingabe nach 2-maligem anklicken.
-
- --------------------------------------------------------------------------
- 5.7. Schnellkurs
-
-
- 1. `1` aktivieren (`Statusfeld')
- 2. `Def.' für definieren aktivieren
- nun öffnet sich das Matrizeneingabefenster.
-
- `Matrizeneingabe':
-
- a. Name: In diesem Feld wird der Matrixname eingegeben
- b. Zeilenanzahl Zeilenanzahl der Matrix
- c. Spaltenanzahl Spaltenanzahl der Matrix
-
- Unsere Matrix soll `Erste` heißen und 2 Zeilen und 2 Spalten haben. Bitte
- geben Sie in den entsprechenden Feldern diese Werte ein.
- Ist dies erfolgt aktivieren Sie mit der Maus den `Eingabe starten` Knopf
- oder drücken die `e`-Taste, wenn kein Textfeld aktiv ist.
- Nun können die Elemente der Matrix eingegeben werden.
-
- Erste = 1 2
- 3 4
- Dazu werden die
- Werte im Textfeld eingegeben und mit der Eingabetaste bestätigt.
- Nachdem das letzte Element eingegeben wurde, erscheint die Matrix im
- Anzeigefeld. Dieses wird nun aktiviert, indem Sie mit der Maus darauf
- klicken. Versuchen Sie jetzt einmal die
- `CURSOR`- Tasten zu verwenden. Mit deren Hilfe kann man nun leicht zu
- einem Element fahren.
- Aktivieren Sie nun `OK`.
-
- Die Matrizeneingabe für Matrix `Erste` ist nun abgeschlossen.
-
- 3. Aktivieren Sie `Zeigen' (Die definierten Matrizen werden angezeigt)
- 4. Aktivieren Sie `Det' (Es wird die Determinante berechnet)
- 5. Aktivieren Sie `Invertieren' (Die Inverse Matrix wird berechnet)
- Das Ergebnis dieser Operation wird im Matrixspeicherplatz 7 abgelegt,
- um nicht eine schon vorhandene Matrix in 1-6 zu überschreiben.
- Automatisch wird nun 6 und 7 aktiviert. Dies hat den Vorteil, daß Sie
- jetzt die Möglichkeit haben, die Matrix einfach in den Speicherplatz zu
- tauschen, in den Sie wünschen.
- Wir wollen die Inverse in den Speicherplatz 2 tauschen:
-
- a) Aktivieren Sie `2` (`Statusfeld' zeigt `72`)
- b) Aktivieren Sie `<->' (Inhalt von 2 und 7 werden vertauscht)
-
- Bemerkung: Die meisten Operationen, die eine Matrix als Ergebnis haben,
- geben der Ergebnismatrix einen passenden Namen. Dieser sollte
- aber angepaßt werden, wenn umfangreichere Rechnungen
- durchgeführt werden sollen, da sonst Verwirrung entsteht. (Dem
- Programm sind die Namen egal)
-
- 6. Aktivieren Sie `Name' und geben Sie als neuen Namen "Erste^-1" ein!
- 7. Aktivieren Sie `1`, dann `2` (`Statusfeld' zeigt "12" )
- 8. Aktivieren Sie `*' (Es wird 1*2 ausgeführt)
- 9. Als Ergebnis entsteht eine Einheitsmatrix, was eine gute Probe für
- unsere vorherige Aufgabe darstellt.
- 10. Aktivieren Sie `1` dann `a*Matrix' und geben Sie `2`ein u. drücken Sie
- anschließend die `Eingabetaste'. (Die Matrix wird mit 2 multipliziert)
- 11. Aktivieren Sie `3` und `<->' (Inhalt von 3 und 7 werden vertauscht)
- 12. Aktivieren Sie `1` und `3` und `-` (1-3 wird berechnet/siehe `+,-')
- 13. Aktivieren Sie `3` und `<->' (Inhalt von 3 und 7 werden vertauscht)
- 14. Aktivieren Sie `1` und `3` und `+` (1+3 wird berechnet)
- Das Ergebnis ist eine Nullmatrix.
- 15. Aktivieren Sie `1` und `^' und geben Sie `3` ein. (1 hoch drei wird
- berechnet.)
- 16. Aktivieren Sie `3` und `<->' (Inhalt von 3 und 7 werden vertauscht)
- 17. Aktivieren Sie `Transponieren' (Die Matrix in 3 wird transponiert,
- d.h. die Zeilen und Spalten werden vertauscht)
- 18. Aktivieren Sie `3` und `<->' (Inhalt von 3 und 7 werden vertauscht)
- 19. Aktivieren Sie `-->' (Inhalt von 7 wird nach 8 kopiert)
- 20. Aktivieren Sie `2` und `DEL' mit einem Doppelklick (2 wird gelöscht)
-
- --------------------------------------------------------------------------
-
- 6. Verschiedenes
-
- 6.1. Warum entstand dieses Programm
-
-
- Jeder kennt sie und scheut davor, mit ihnen konfrontiert zu werden. Diese
- Scheu kommt nicht von ungefähr, denn wer mit Matrizen zu tun hat, der muß
- viel rechnen. Wenn die Rechnung beendet ist, fängt man wiederum an
- nachzurechnen ob das Ergebnis stimmt.
-
- Das muß nicht sein, denn die Matrizenalgebra ist bestens dafür geeignet,
- um einen Rechenknecht damit zu beauftragen.
- Dies ist schon auf allen Rechnersystemen und in den verschiedensten Pro-
- grammiersprachen geschehen. Mich stört dabei jedoch, daß die mir bekannten
- Lösungen nicht anwenderfreundlich sind. In einigen Lösungen muß man sein
- Matrizenproblem erst umständlich formalisieren, aber muß man für jedes
- Problem das programmieren anfangen?
- Hingegen fehlte in anderen Lösungen die Möglichkeit Kettenrechnungen, wie
- etwa
- (A*B)^T - ((1/5*C)^25)^-2
-
- ohne großen Aufwand zu berechnen. Also entschloß ich mich eine Lösung zu
- entwerfen, welche ein komfortables Matrizenmanagement bietet und obigen
- Ausdruck quasi per Maus lösen kann.
-
- Matrizen werden in vielen Fällen gebraucht:
-
- - Beschreibung/Lösung linearer Gleichungssysteme
- - Koordinatentransformation
- - Lösen von Differentialgleichungen
- - Lösen von Differentialgleichungssystemen
- - Systembeschreibungen
- - Beschäftigungstherapie für Schüler und Studenten
- - ...
-
- Ferner trifft man auf Matrizen in der
-
- - Elektrotechnik
- - Physik
- - Chemie
- - Regelungstechnik
- - Wirtschaft
- - Statistik
- - Schule
- - ...
-
- --------------------------------------------------------------------------
- 6.2. Mathematische Grundregeln
-
- Eine (m x n)-Matrix ist eine rechteckiges Zahlenschema, das aus m*n Zahlen
- - Elemente genannt - besteht, die in m Zeilen (Zeilenvektoren) und n
- (Spaltenvektoren) angeordnet sind.
-
- Die Division ist unter Matrizen nicht definiert.
-
- Das Matrizenprodukt ist im allgemeinen nicht kommutativ => A*B <> B*A
- A*A^-1 =A^-1*A=Einheitsmatrix (E)
-
- Es können nur Matrizen multipliziert werden, wenn die Spaltenanzahl der
- ersten Matrix n1 gleich der Zeilenanzahl m2 der zweiten Matrix ist. Die
- Ergebnismatrix ist dann eine m1 x n2 Matrix.
-
- Addition und Subtraktion ist nur unter gleichen Matrizen definiert:
- m1 x n1 = m2 x n2
-
- Siehe auch `Literaturliste'...
-
-
- --------------------------------------------------------------------------
- 6.3. Rechengenauigkeit
-
- Dieses Programm führt Berechnungen im doppelt genauen IEEE
- Fließkomma-Operationmodus durch. Wenn das Programm Matrizen anzeigt, so
- sind diese aber stets gerundet und in ein Format gepreßt, da man sonst
- nicht den geringsten Nutzen einer `Darstellung' hätte. Da nach vielen
- Berechnungen die Genauigkeit von Digitalrechnern "verschwimmt", werden
- alle Werte nach der 12 Nachkommastelle gerundet.
-
- D.h. aus einer 0.0000000000001 wird eine 0 gerundet
-
- --------------------------------------------------------------------------
- 6.4. Probleme|Fehler
-
- Natürlich ist das Programm nicht fehlerfrei!
-
- Wenn Sie der Meinung sind, daß das Programm fehlerhafte Matrizen berechnet,
- machen Sie (wenn möglich) erst eine mathematische Probe und vergewissern
- sich, daß der gewählte Darstellungsmodus auch den richtigen Wert anzeigen
- kann. Im Zweifelfalle immer +000.000 einstellen.
- (Siehe Menu: `Darstellung' bzw. `Eingabemodus' `Cursortasten`)
-
- Wenn Sie der Meinung sind, das Programm `hängt`, dann beachten Sie, daß die
- von Ihnen gewählten Berechnungen einige Zeit in Anspruch nehmen können.
- Bevor Sie einen `Reset` ausführen, sollten Sie versuchen das Multitasking
- des Amiga zu nutzen. Lassen Sie das Matrizenprogramm rechen und erledigen
- in der Zeit etwas anderes. (Schreiben Sie einem Freund oder mir)
- Wenn sich nach einiger Zeit tatsächlich gar nichts tut, schreiben Sie mir
- auch und beschweren sich, indem Sie mir das ausgefüllte Formular
- `Fehlerreport` schicken. Ich werde dann versuchen den Fehler zu
- beseitigen.
-
- Das Programm ist nicht besonders fontsensitiv, kann aber mit gewissen
- Einschränkungen problemlos betrieben werden. (Topaz 8 einstellen)
- (Deutscher Zeichensatz)
-
- Eventuell müssen die Farben angepaßt werden, um im Dateiauswahlrequester
- angenehmer arbeiten zu können.
-
- Fehler?
- Bei der Umgebungsvielfalt von Programmen bezüglich verschiedener
- Kickstart- und Workbenchversionen zusammen mit diversen Erweiterungen
- werden sich mit Sicherheit Konstellationen ergeben, die Probleme bereiten.
-
- Wer Fehler entdeckt, der schicke mir das ausgefüllte Formular
- `Fehlerreport`, welches sich beim Programm befindet.
-
- Wer Funktionen vermißt, schreibe mir dies!
- Wer Anregungen hat, schreibe mir dies!
- Wer Fragen hat, schreibe mir dies!
- Wer Danke sagen möchte, schreibe mir eine nette Postkarte! (Briefe oder
- Anerkennungen in einer Art und Weise in der Sie gedenken mich für meine
- Mühe zu entlohnen sind keinesfalls verboten. B-)
-
- Bei entsprechender Resonanz sollten weitere Versionen denkbar sein.
-
- --------------------------------------------------------------------------
- 6.5. Beispiele
-
- Ausgewählte Beispiele: (nicht mit der Demoversion ausführbar)
-
- 6.5.1. Gleichungssystem ohne Ax=B-Knopf
-
- Lösen eines eindeutigen linearen Gleichungssystems (LGS) mit n rechten
- Seiten:
-
- Bemerkung: Nach Einführung des `Ax=B'-Knopfes können beliebige
- Gleichungssysteme einfacher berechnet werden, als es in diesem Beispiel
- angegeben wird. Es is aber trotzdem ein lehrreiches Beispiel ab und ist
- deswegen hier erhalten geblieben.
-
- Eindeutige LGS haben genau eine Lösung. Wenn ein LGS nicht genau eine
- Lösung hat, hat es immer unendlich viele Lösungen, welche hier nicht näher
- betrachtet werden sollen. (Das Programm kann sie aber berechnen!)
-
-
- Gegeben sei folgendes Gleichungssystem:
-
- -1a + 2b + 3c = 10
- 4a + 5b + 6c = 28
- 7a + 8b + 9c = 46
-
- D.h.: Matrix A ist Koeffizientenmatrix und B Ergebnismatrix(vektor) =>
-
- -1 2 3 10
- A = 4 5 6 B = 28
- 7 8 9 46
-
- Gesucht sind nun a,b,c die das LGS erfüllen.
-
- Um eine eindeutige Lösung zu erhalten, muß A eine quadratische Matrix
- sein, d.h. die Zeilenanzahl muß der Spaltenanzahl entsprechen.
-
- a
- Die zugehörige Matrixgleichung lautet: A * X = B mit X = b
- c
-
- Sei A^-1 die inverse zu A, dann folgt: A^-1 * A * X = A^-1 * B
- Mit A^-1*A = Einheitsmatrix folgt : E * X = A^-1 * B
- Mit E * X = X folgt : X = A^-1 * B
-
- D.h. zur Lösung benötigen wir immer die inverse Matrix der
- Koeffizientenmatrix. Diese müssen wir dann von links mit dem Lösungsvektor
- multiplizieren. So erhalten wir die Lösung X. Die Probe kann dann leicht
- durchgeführt werden. Falls A nicht invertierbar ist, kann heir keine
- Lösung berechnet werden. Falls B auch eine Matrix ist, bedeutet
- dies, daß man mehrere rechte Seiten hat und für jede Spalte von B die
- zugehörigen a,b,c sucht. Dies ändert nichts am oben beschriebenen
- Verfahren, da A^-1*B auch für B mit mehreren Spalten berechenbar bleibt.
- Jede Spalte von X stellt dann den Lösungsvektor (a,b,c) zur entsprechenden
- Spalte in B dar.
-
- Lösung:
-
- -1 2 3 10
- A = 4 5 6 B = 28
- 7 8 9 46
-
- 1. Sie definieren die beiden Matrizen und legen A in `1` und B in `2` ab!
- 2. Sie aktivieren `1` und `Invertieren` und tauschen das Ergebnis nach 3
- indem Sie `3` und dann `<->` aktivieren.
- 3. Sie aktivieren erst `3` dann `2` und dann `*` und erhalten die Lösung.
- 4. Aktivieren Sie `4` und dann `<->` (Das Ergebnis X steht nun in `4`)
- 5. Probe A*X=B
- 0
- X = 8
- -2
-
- 6.5.2. LGS eindeutig lösbar
-
- Lineares Gleichungssystem mit konstanten Koeffizienten (Eindeutig lösbar)
-
-
- Gegeben:
-
- -1 8 3 2
- A = 2 4 -1 B = 1
- -2 1 2 -1
-
- Gesucht: Eine Matrix X die A*X=B erfüllt!
-
- Lösungsweg:
-
- 1. Mathematrix starten und Matrixspeicherplatz `1` aktivieren
- 2. `Def.' anklicken (Fenster `Matrizeneingabe'-erscheint
- 3. Matrix A eingeben und `ok`-anklicken
- 4. Matrixspeicherplatz `2` aktivieren
- 5. `Def.' anklicken (Fenster `Matrizeneingabe'-erscheint
- 6. Matrix B eingeben und `ok`-anklicken
- 7. `Zeigen'-anklicken. Matrizen überprüfen
- 8. `1`-anklicken
- 9. `2`-anklicken (Im `Statusfeld' steht links `12`)
- 10. `Ax=B'-anklicken (Berechnung beginnt...) 5
- 11. Als eindeutige Lösung schlägt das Programm die Matrix x =-1 vor.
- 5
- 12. Zur Überprüfung tauschen wir die Ergebnismatrix, die das Programm in
- Matrixspeicherplatz `7` abgelegt hat mit `<->' nach `6` und klicken
- `Zeigen' an.
-
- 13. Probe: A*x soll B ergeben. D.h. für uns:
- `1`-anklicken
- `6`-anklicken
- `*'-anklicken -Matrix A in `1` wird mit Matrix x in `6` multipliziert
- Das Ergebnis dieser Multiplikation wird nun nach 3 getauscht, indem
- wir nun
- `3`-anklicken
- `<->`-anklicken
- Die Matrix `1*6` muß der Matrix B entsprechen. Deshalb müssen wir nun
- die beiden Matrizen vergleichen. Dies tun wir dadurch, daß wir sie
- voneinander abziehen:
- `2`-anklicken
- `3`-anklicken
- `-`-anklicken 0
- Das Ergebnis muß eine Nullmatrix sein: 0
- 0
-
- Dieses Beispiel hat verdeutlicht, wie man eine mathematische Probe
- durchführt.
-
- --------------------------------------------------------------------------
- 6.6. Danke
-
- An die Entwickler des Amiga, für diesen wundervollen Computer.
-
- An Carl Friedrich Gauß, für die Algorithmen und die Gauß`sche Zahlenebene
-
- An meine verständnisvolle Verlobte, für die Unterstützung
-
- An alle, die mit konstruktiver Kritik halfen, das Programm zu verbessern.
-
- An Stephan Sürken, für sein Programm Text2Guide, mit dem die
- Guide-Erstellung vorgenommen wurde.
-
- --------------------------------------------------------------------------
- 6.7. Sprachkundige gesucht
-
- Da dieses Programm sicherlich auch in anderen Ländern gebraucht werden
- kann, habe ich vor, das Programm sprachlich anzupassen. Wer Lust hat,
- Übersetzungen anzufertigen oder jemanden kennt, der Lust dazu hat, der
- melde sich bei mir. Es sind ja nur wenige Seiten :-)
-
- --------------------------------------------------------------------------
- 6.8. Literaturliste
-
- [1] Merziger,Wirth: Repetitorium der höheren Mathematik ca. 29.80 DM
- Feldmann Verlag, Am Bergfelde 28, 3257 Springe ISBN 3-923923-33-3
- Gutes Nachschlagewerk mit zahlreichen Beispielen:
- Integral-, Differential-, Vektorrechnung, Matrizen, Determinanten,
- Folgen, Reihen, Lineare Abbildungen, Determinanten. Dieses Buch
- eignet sich für interessierte Schüler und Studenten
-
- [2] Howard Anton: Elementary Linear Algebra 5e, (Englischsprachig)
- John Wiley & Sons, Inc. 605 Third Avenue, New York 10158
- ISBN 0-471-85223-6
- In diesem Buch werden viele Bereiche der Matrizen-, Determinanten-
- und Vektoralgebra beschrieben und in zahlreichen Theoremen
- zusammengefaßt. Es eignet sich für den Studenten, dem Englisch
- keine Probleme bereitet.
-
- --------------------------------------------------------------------------
-
- 7. Glossar
-
- 7.1. Eingabetaste
-
- Mit dieser Taste wird eine Meldung erzeugt, die dem Computer/Programm
- mitteilt fortzufahren. Sie wird oft auch als RETURN-Taste bezeichnet und
- ist die größte Taste der Tastatur. Sie ist mit einem nach links
- abknickendem Pfeil bezeichnet. (G L O T Z) :-))
-
- 7.2. ***
-
- Diese Anzeige erscheint wenn ein Matrixelement nicht in das gewählte Format
- paßt. (Siehe Menu: `Darstellung')
-
- 7.3. Virus
-
- Falls die programmeigene Prüfroutine keine Vierenfreiheit garantiert kann
- es auch daran liegen, daß der Programmname verändert wurde. Versuchen Sie
- es mit dem Originalnamen. Sollte dann immer noch keine Vierenfreiheit
- gegeben sein, füllen Sie das beiliegende Formular "Fehlerreport" aus und
- senden Sie mir die Diskette mit dem verseuchten Programm. Ich werde mich
- bemühen, der Ursache auf den Grund zu gehen. Vielleicht hilft Ihnen auch
- ein Viruserkennungsprogramm weiter.
-
- 7.4. Demo
-
- Das Programm arbeitet ohne `Schlüsseldatei' in einem
- DEMONSTRATIONS-Modus, in den nur 2x2-Matrizen bearbeitet werden können.
- Mit einer `Registration' erhalten sie eine persönliche Schlüsseldatei,
- die es Ihnen ermöglicht das Programm in der Vollversion zu nutzen. Dann
- können `beliebig` große Matrizen bearbeitet werden. Zur Registration
- lesen Sie bitte auch die `Lies_mich_zuerst`-Datei!
-
- 7.5. Schlüsseldatei
-
- Eine Datei, die es ermöglicht, das Programm ohne Einschränkungen
- (`Demo'-Version) zu verwenden. Man bekommt diese Datei beim `Autor', wenn
- man sich registrieren läßt. Siehe dazu auch: `Nutzungsbedingungen',
-
- 7.6. Registration
-
- Um das Programm ohne Einschränkungen rechtmäßig zu verwenden muß man sich
- beim Autor registrieren lassen. Siehe dazu auch: `Nutzungsbedingungen',
-
- ------------------------------E N D E-------------------------------------
-
-
-